LEISIONS

In [1]:
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:20: FutureWarning: `selem` is a deprecated argument name for `median`. It will be removed in version 1.0. Please use `footprint` instead.
  blurred_image = filters.median(gray_image, selem=morphology.disk(5))
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD008.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD023.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD035.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD037.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD045.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD105.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD108.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD112.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD132.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD143.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD156.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD162.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD182.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD198.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD280.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD367.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD368.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD381.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD383.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD390.bmp is a low contrast image
  io.imsave(save_path, result_image)
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_65300\1796009347.py:46: UserWarning: C:\Users\PMYLS\Desktop\Data\segmented\segmented_IMD392.bmp is a low contrast image
  io.imsave(save_path, result_image)
Image processing complete. Remember, this is not for medical diagnosis!
In [ ]:
In [12]:
Accuracy for segmented_IMD002.bmp: 0.9298962475433064
Accuracy for segmented_IMD003.bmp: 0.9637015781922526
Accuracy for segmented_IMD004.bmp: 0.9390858782537406
Accuracy for segmented_IMD006.bmp: 0.8854387283368632
Accuracy for segmented_IMD008.bmp: 0.8862597911227154
Accuracy for segmented_IMD009.bmp: 0.9330048813713248
Accuracy for segmented_IMD010.bmp: 0.9022573543669941
Accuracy for segmented_IMD013.bmp: 0.8308660986209493
Accuracy for segmented_IMD014.bmp: 0.6419851943104176
Accuracy for segmented_IMD015.bmp: 0.9663780811917554
Accuracy for segmented_IMD016.bmp: 0.9562536358347876
Accuracy for segmented_IMD017.bmp: 0.8309802108885879
Accuracy for segmented_IMD018.bmp: 0.9636176983882558
Accuracy for segmented_IMD019.bmp: 0.9592142948355438
Accuracy for segmented_IMD020.bmp: 0.9723625882481712
Accuracy for segmented_IMD021.bmp: 0.9886923533982358
Accuracy for segmented_IMD022.bmp: 0.8967434326843012
Accuracy for segmented_IMD023.bmp: 0.20167136528393073
Accuracy for segmented_IMD024.bmp: 0.9515518598364302
Accuracy for segmented_IMD025.bmp: 0.9692256030361969
Accuracy for segmented_IMD027.bmp: 0.9169342533761472
Accuracy for segmented_IMD030.bmp: 0.723637777024641
Accuracy for segmented_IMD031.bmp: 0.7290599820127379
Accuracy for segmented_IMD032.bmp: 0.5803928349125113
Accuracy for segmented_IMD033.bmp: 0.837307349763308
Accuracy for segmented_IMD035.bmp: 0.8526847542286298
Accuracy for segmented_IMD036.bmp: 0.8550846202062795
Accuracy for segmented_IMD037.bmp: 0.8682972375942247
Accuracy for segmented_IMD038.bmp: 0.971115410880947
Accuracy for segmented_IMD039.bmp: 0.9613004796250869
Accuracy for segmented_IMD040.bmp: 0.9735206047216491
Accuracy for segmented_IMD041.bmp: 0.9277724892908139
Accuracy for segmented_IMD042.bmp: 0.9595731066319302
Accuracy for segmented_IMD043.bmp: 0.9717642496207325
Accuracy for segmented_IMD044.bmp: 0.8902873992133952
Accuracy for segmented_IMD045.bmp: 0.9091925309972738
Accuracy for segmented_IMD047.bmp: 0.9550719182379176
Accuracy for segmented_IMD048.bmp: 0.9689382688056233
Accuracy for segmented_IMD049.bmp: 0.9868286433434739
Accuracy for segmented_IMD050.bmp: 0.9206720733668685
Accuracy for segmented_IMD057.bmp: 0.8761996595683036
Accuracy for segmented_IMD058.bmp: 0.6614424887729973
Accuracy for segmented_IMD061.bmp: 0.5434896426132484
Accuracy for segmented_IMD063.bmp: 0.8464548928002318
Accuracy for segmented_IMD064.bmp: 0.6571961466029262
Accuracy for segmented_IMD065.bmp: 0.7472317289584238
Accuracy for segmented_IMD075.bmp: 0.9240326733391355
Accuracy for segmented_IMD076.bmp: 0.8350264377806751
Accuracy for segmented_IMD078.bmp: 0.9454766043749094
Accuracy for segmented_IMD080.bmp: 0.7175458134144574
Accuracy for segmented_IMD085.bmp: 0.8713453221033463
Accuracy for segmented_IMD088.bmp: 0.78622809014341
Accuracy for segmented_IMD090.bmp: 0.6796773142112125
Accuracy for segmented_IMD091.bmp: 0.7894855451855224
Accuracy for segmented_IMD092.bmp: 0.9836241307174761
Accuracy for segmented_IMD101.bmp: 0.539689846909301
Accuracy for segmented_IMD103.bmp: 0.9203109155439664
Accuracy for segmented_IMD105.bmp: 0.9078174905632985
Accuracy for segmented_IMD107.bmp: 0.889933677229182
Accuracy for segmented_IMD108.bmp: 0.8607966265884096
Accuracy for segmented_IMD112.bmp: 0.6015975843836013
Accuracy for segmented_IMD118.bmp: 0.9298570421006944
Accuracy for segmented_IMD120.bmp: 0.7897677951388888
Accuracy for segmented_IMD125.bmp: 0.884453537936914
Accuracy for segmented_IMD126.bmp: 0.8526455888744024
Accuracy for segmented_IMD132.bmp: 0.9353904099666811
Accuracy for segmented_IMD133.bmp: 0.9238419889902941
Accuracy for segmented_IMD134.bmp: 0.9364701035781544
Accuracy for segmented_IMD135.bmp: 0.8107073011734028
Accuracy for segmented_IMD137.bmp: 0.8831259959437926
Accuracy for segmented_IMD138.bmp: 0.8660817760394032
Accuracy for segmented_IMD139.bmp: 0.9788475119513255
Accuracy for segmented_IMD140.bmp: 0.9603320114442996
Accuracy for segmented_IMD142.bmp: 0.8949143488338404
Accuracy for segmented_IMD143.bmp: 0.9437246487034623
Accuracy for segmented_IMD144.bmp: 0.9661469650876431
Accuracy for segmented_IMD146.bmp: 0.8920215848181949
Accuracy for segmented_IMD147.bmp: 0.6797882261335652
Accuracy for segmented_IMD149.bmp: 0.935899971582836
Accuracy for segmented_IMD150.bmp: 0.8612650296972331
Accuracy for segmented_IMD152.bmp: 0.9253585842059336
Accuracy for segmented_IMD153.bmp: 0.7778527668702734
Accuracy for segmented_IMD154.bmp: 0.6757358020651542
Accuracy for segmented_IMD155.bmp: 0.9210126032159931
Accuracy for segmented_IMD156.bmp: 0.950182438794727
Accuracy for segmented_IMD157.bmp: 0.9165353831667391
Accuracy for segmented_IMD159.bmp: 0.8077870491564864
Accuracy for segmented_IMD160.bmp: 0.6967328516586991
Accuracy for segmented_IMD161.bmp: 0.7462606837606838
Accuracy for segmented_IMD162.bmp: 0.8524124474866001
Accuracy for segmented_IMD164.bmp: 0.9233145914819644
Accuracy for segmented_IMD166.bmp: 0.5745253812884134
Accuracy for segmented_IMD168.bmp: 0.9522286505867015
Accuracy for segmented_IMD169.bmp: 0.9622016695639577
Accuracy for segmented_IMD170.bmp: 0.4962176770969144
Accuracy for segmented_IMD171.bmp: 0.9785057221497899
Accuracy for segmented_IMD173.bmp: 0.8937491463692238
Accuracy for segmented_IMD175.bmp: 0.8188581957120092
Accuracy for segmented_IMD176.bmp: 0.7805302042590179
Accuracy for segmented_IMD177.bmp: 0.9012997066492829
Accuracy for segmented_IMD182.bmp: 0.6962145081848472
Accuracy for segmented_IMD196.bmp: 0.9107996523250761
Accuracy for segmented_IMD197.bmp: 0.8669419093147906
Accuracy for segmented_IMD198.bmp: 0.8777266268826371
Accuracy for segmented_IMD199.bmp: 0.8482023214544401
Accuracy for segmented_IMD200.bmp: 0.8944571200927133
Accuracy for segmented_IMD203.bmp: 0.9249715456407922
Accuracy for segmented_IMD204.bmp: 0.9673821989528796
Accuracy for segmented_IMD206.bmp: 0.9646551331664011
Accuracy for segmented_IMD207.bmp: 0.8492692920555429
Accuracy for segmented_IMD208.bmp: 0.8663104021990741
Accuracy for segmented_IMD210.bmp: 0.8148645471643519
Accuracy for segmented_IMD211.bmp: 0.9447202329282407
Accuracy for segmented_IMD219.bmp: 0.677812428864102
Accuracy for segmented_IMD226.bmp: 0.8690696074170651
Accuracy for segmented_IMD240.bmp: 0.43138173620165143
Accuracy for segmented_IMD242.bmp: 0.925967423583949
Accuracy for segmented_IMD243.bmp: 0.888827774156164
Accuracy for segmented_IMD251.bmp: 0.9532454370273414
Accuracy for segmented_IMD254.bmp: 0.8108684191390343
Accuracy for segmented_IMD256.bmp: 0.9440944953461314
Accuracy for segmented_IMD278.bmp: 0.9197359843546284
Accuracy for segmented_IMD279.bmp: 0.9507777415616399
Accuracy for segmented_IMD280.bmp: 0.8969673511516731
Accuracy for segmented_IMD284.bmp: 0.1807883933738426
Accuracy for segmented_IMD285.bmp: 0.7759194372012168
Accuracy for segmented_IMD304.bmp: 0.892709691438505
Accuracy for segmented_IMD305.bmp: 0.8698278828045777
Accuracy for segmented_IMD306.bmp: 0.9729465449804433
Accuracy for segmented_IMD312.bmp: 0.9069720592496017
Accuracy for segmented_IMD328.bmp: 0.9822389470622455
Accuracy for segmented_IMD331.bmp: 0.9697157686154741
Accuracy for segmented_IMD339.bmp: 0.9145624272833043
Accuracy for segmented_IMD347.bmp: 0.8073844705200638
Accuracy for segmented_IMD348.bmp: 0.6988537592351152
Accuracy for segmented_IMD349.bmp: 0.7279737976242213
Accuracy for segmented_IMD356.bmp: 0.8376407902361293
Accuracy for segmented_IMD360.bmp: 0.9186766623207301
Accuracy for segmented_IMD364.bmp: 0.9121849196001738
Accuracy for segmented_IMD365.bmp: 0.8960891098073301
Accuracy for segmented_IMD367.bmp: 0.7892107598145733
Accuracy for segmented_IMD368.bmp: 0.8319842821961466
Accuracy for segmented_IMD369.bmp: 0.8887098382651581
Accuracy for segmented_IMD370.bmp: 0.7991271910763437
Accuracy for segmented_IMD371.bmp: 0.8346990437754508
Accuracy for segmented_IMD372.bmp: 0.8953202614379085
Accuracy for segmented_IMD374.bmp: 0.9453521114008402
Accuracy for segmented_IMD375.bmp: 0.8894343944661741
Accuracy for segmented_IMD376.bmp: 0.9465902506156744
Accuracy for segmented_IMD378.bmp: 0.5591816963638998
Accuracy for segmented_IMD379.bmp: 0.909541141532667
Accuracy for segmented_IMD380.bmp: 0.9075447269303202
Accuracy for segmented_IMD381.bmp: 0.6549349014921049
Accuracy for segmented_IMD382.bmp: 0.828217803853397
Accuracy for segmented_IMD383.bmp: 0.908717249218528
Accuracy for segmented_IMD384.bmp: 0.9466898449949297
Accuracy for segmented_IMD385.bmp: 0.824890446182819
Accuracy for segmented_IMD386.bmp: 0.970397834274953
Accuracy for segmented_IMD388.bmp: 0.7503214182239606
Accuracy for segmented_IMD389.bmp: 0.7213077647399682
Accuracy for segmented_IMD390.bmp: 0.8162823229030857
Accuracy for segmented_IMD392.bmp: 0.8608621251629727
Accuracy for segmented_IMD393.bmp: 0.5546094089526293
Accuracy for segmented_IMD394.bmp: 0.8867046030711285
Accuracy for segmented_IMD395.bmp: 0.877871609370467
Accuracy for segmented_IMD396.bmp: 0.9377014522671302
Accuracy for segmented_IMD397.bmp: 0.7545731155960648
Accuracy for segmented_IMD398.bmp: 0.36128517433449076
Accuracy for segmented_IMD399.bmp: 0.9627052589699074
Accuracy for segmented_IMD400.bmp: 0.6806618019386574
Accuracy for segmented_IMD402.bmp: 0.9019481517650463
Accuracy for segmented_IMD403.bmp: 0.6546110930266203
Accuracy for segmented_IMD404.bmp: 0.8023297345196759
Accuracy for segmented_IMD405.bmp: 0.9400589554398148
Accuracy for segmented_IMD406.bmp: 0.7546039765319427
Accuracy for segmented_IMD407.bmp: 0.7953833478197885
Accuracy for segmented_IMD408.bmp: 0.21299913194444445
Accuracy for segmented_IMD409.bmp: 0.5320050274884259
Accuracy for segmented_IMD410.bmp: 0.4757735640914352
Accuracy for segmented_IMD411.bmp: 0.5204992910122164
Accuracy for segmented_IMD413.bmp: 0.47958939163773145
Accuracy for segmented_IMD417.bmp: 0.4836109302662037
Accuracy for segmented_IMD418.bmp: 0.7461095739293981
Accuracy for segmented_IMD419.bmp: 0.6642320421006944
Accuracy for segmented_IMD420.bmp: 0.47593406394675924
Accuracy for segmented_IMD421.bmp: 0.17525453920717593
Accuracy for segmented_IMD423.bmp: 0.5662299262152778
Accuracy for segmented_IMD424.bmp: 0.1721168800636574
Accuracy for segmented_IMD425.bmp: 0.3253151222511574
Accuracy for segmented_IMD426.bmp: 0.4817097981770833
Accuracy for segmented_IMD427.bmp: 0.8637966579861112
Accuracy for segmented_IMD429.bmp: 0.9342382840793858
Accuracy for segmented_IMD430.bmp: 0.9183280819933363
Accuracy for segmented_IMD431.bmp: 0.7594229863827321
Accuracy for segmented_IMD432.bmp: 0.863087154135883
Accuracy for segmented_IMD433.bmp: 0.911723163841808
Accuracy for segmented_IMD434.bmp: 0.9139087818287037
Accuracy for segmented_IMD435.bmp: 0.29594816984953703
Accuracy for segmented_IMD436.bmp: 0.6394479755178908
Accuracy for segmented_IMD437.bmp: 0.8024721498842593

Overall Accuracy: 0.8145383760790569

SEGMENTATION ACCURACY

In [13]:
Overall Metrics:
Overall Sensitivity: 0.9540171884425962
Overall Specificity: 0.772420428037602
Overall Confusion Matrix:
[[59610543 16242920]
 [  117139 12192721]]

FEATURE EXTRATION

In [16]:
Feature extraction complete.

ML

Automatic Melanoma Detection using Hybrid Features and Machine Learning Models

In [2]:
C:\Users\PMYLS\AppData\Local\Temp\ipykernel_22592\209914648.py:6: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError.  Select only valid columns before calling the reduction.
  df_filled = df.fillna(df.mean())
   LBP Feature 1  LBP Feature 2  LBP Feature 3  LBP Feature 4  LBP Feature 5  \
0              3              3              2              9              9   
1              3              4              0              1              4   
2              3              2              0              2              9   
3              0              4              5              1              0   
4              0              2              5              4              1   

   LBP Feature 6  LBP Feature 7  LBP Feature 8  HOG Feature 1  HOG Feature 2  \
0              0              9              1              4              5   
1              5              2              5              4              2   
2              1              0              1              5              2   
3              4              5              0              1              5   
4              0              1              1              9              0   

   ...  Color Mean (B)  Color Std (R)  Color Std (G)  Color Std (B)  Entropy  \
0  ...               4              0              9              2        0   
1  ...               2              2              4              5        2   
2  ...               9              1              0              2        5   
3  ...               3              5              4              2        5   
4  ...               2              1              0              2        5   

   Area  Perimeter  Compactness  Eccentricity  Melanoma  
0     5          0            5             2         0  
1     3          5            5             1         0  
2     4          9            2             9         0  
3     5          4            3             1         0  
4     3          3            5             5         0  

[5 rows x 29 columns]

LOGISTIC REGRESSION

In [4]:
Cross-validation scores: [0.65625 0.75    0.75    0.78125 0.75   ]
Mean accuracy: 0.7375
Accuracy on the test set: 0.775
Confusion Matrix:
[[30  1]
 [ 8  1]]

SVM

In [5]:
Cross-validation scores for SVM: [0.75    0.84375 0.8125  0.8125  0.8125 ]
Mean accuracy for SVM: 0.80625
Accuracy on the test set for SVM: 0.775
Confusion Matrix for SVM:
[[31  0]
 [ 9  0]]

KNN

In [6]:
Accuracy on the test set for KNN: 0.7
Classification Report for KNN:
              precision    recall  f1-score   support

           0       0.76      0.90      0.82        31
           1       0.00      0.00      0.00         9

    accuracy                           0.70        40
   macro avg       0.38      0.45      0.41        40
weighted avg       0.59      0.70      0.64        40

Confusion Matrix for KNN:
[[28  3]
 [ 9  0]]

Decision Tree

In [12]:
Accuracy on the test set for Decision Tree: 0.75
Classification Report for Decision Tree:
              precision    recall  f1-score   support

           0       0.82      0.87      0.84        31
           1       0.43      0.33      0.38         9

    accuracy                           0.75        40
   macro avg       0.62      0.60      0.61        40
weighted avg       0.73      0.75      0.74        40

Confusion Matrix for Decision Tree:
[[27  4]
 [ 6  3]]
In [ ]: